• March -93: Sound routines revised again. (I'm still not satisfied.) Sound routine names changed.
• 20/4 -93: Added utilities for modifying the background, namely SATPlotFace and SATBackChanged.
• 21/4 -93: Added two new simple demos, SATcollision and SATcollision][, both demonstrating collision handling. SATcollision uses the simple method using the kind field, while SATcollision][ uses the more powerful method with callback routines. It also demonstrates how SATPlotFace is used (by drawing applecores when apples are eaten).
The demos are not yet documented anywhere else. I hope they can clarify how collision detection can be handled.
• 29/4 -93: Utility program ICN#->cicn for users of Macs without Color QD.
• 30/4 -93: Added DisposeIcon, to dispose of "Faces". Fixed that old clipping bug that only appeared on small screens in "safe" mode. (Finally!) LoadIcon renamed to GetFace.
• 2/5 -93: Checks for depth change in the update event handler for the game window in HeartQuest and SAT Invaders.
• 15/5 -93: Added CustomInitSAT, ShowMBar and HideMBar. (Lots of new flexibility that we were missing before!)
• 17/5 -93: Revised collision detection. Added a SearchWidth parameter to ConfigureSAT.
• 18/5 -93: Changed AppSort to LayerSort, which now uses a special field, "layer". (If AppLong is for "free use", it shouldn't have this kind of specific function.)
• 20/5 -93: Sprites wider than 32 pixels work (again?)
• 22/5 -93: Improved error detection, making crashes less likely when running out of memory. Renamed MakeSoundHandle and MakeNamedSoundHandle to SATGetSound and SATGetNamedSound. Added SATDisposeSound. Documented SATSoundEvents. (Oops.)
• 30/5 -93: Added pattern utilities plus SATDrawPicts. Revised sound code: somewhat safer, SATSoundEvents no longer needed (usually).
• 31/5 -93: Fixed a bug in SATminimalC. µRuntime.π is now a file of its own.
• 2/6 -93: Bugfix in "KindCollision" collision detection. The "kind" is now modified before calling the HitTasks (which means that the HitTasks can change it back, if desired).
• 10/6 -93: Bugfixes in the sound routines. New, experimental sound calls.
• 11/6 -93: CopyBits replacements, SATPlotFaceOnScreen, configurable sprite record size.
• 17/6 -93: Resources for ReportStr and QuestionStr no longer necessary.
• 18/6 -93: Lower memory consumption, rebuilt Face structure. Fixed bug that caused 8 pixel wide icons to crash old Macs.
• 19/6 -93: Fixed a bug that caused invisible sprites to draw in the screen. Fixed another bug that finally allows SkipSAT to work. Cleaned up, speeded up a little bit.
• 23/6 -93: Speeded up 256 color "safe" graphics a lot. Changed ConfigureSAT in order to make it work from C.
• 24/6 -93: Revised a number of calls to accept a GDHandle. Added SATMakeOffScreen, SATDisposeOffScreen and two color-only calls from Apples technote "Princincipia Off-Screen Drawing", all for making extra offscreen buffers. Added SATSetPort calls.
• 26/6 -93: Dithering icons for 4-bit graphics (usually looks a lot better when an icon is drawn for 8-bit).
• 27/6 -93: A slight overall speedup (due to an operation that I did too many times).
• 29/6 -93: 4-bit graphics improved. Fixed bugs in SATPlotFaceOnScreen.
• 4/7 -93: Fixed a bug that took a whole week to find. (Phew.)
• 13/7 -93: Fixed a bug in fast b/w graphics. (SATCopyBits on big areas didn't work.)
• 21/7 -93: Moved over the manual to MS Word (to make table of contents and formatting easier). I'll make a MacWrite copy available somewhere for the few who don't have something that can read MS Word.
• 27/7 -93: Added support for MACE-compressed sounds (except when using Sound Driver). (Due to a bug in Apple's Sound Manager, I have a timeout for the sound channel, and that timeout had to be calculated differently for compressed sounds.)
• 31/7 -93: Fixed keyboard shortcuts (return and command-period) in the message boxes (ReportStr and QuestionStr).
• 31/8 -93: Face from PICT works in 1-bit and 8-bit only. (Not in 4-bit yet.) Second screen support fixed.
• 16/9 -93: Better error checking - found a number of places where out-of-memory conditions could cause crashes, and fixed it.
Added KillSAT for disposing everything except FacePtrs, sounds and SpritePtrs (making it possible to re-init SAT in another configuration).
Added SATInstallEmergency, for custom emergency routines (i.e. save game) to be run before quitting due to an error.
Started cleaning up capitalization. (Procedures should be capitalized, variables not.)
• 4/10 -93: Time for release! Reorganized files in order to have C and Pascal versions in the same folders, and to let C users move the lib and SAT.h to the Think C folder without trouble. Some files were renamed.